Java 集合深入理解(4):List 接口

您所在的位置:网站首页 java 输出list Java 集合深入理解(4):List 接口

Java 集合深入理解(4):List 接口

2023-08-16 03:07| 来源: 网络整理| 查看: 265

点击查看 Java 集合框架深入理解 系列, - ( ゜- ゜)つロ 乾杯~

蓝瘦!香菇! 连着加班几天,醉了。学学 List 放松下!

这里写图片描述

在 Java 集合深入理解:Collection 中我们熟悉了 Java 集合框架的基本概念和优点,也了解了根接口之一的 Collection,这篇文章来加深 Collection 的子接口之一 List 的熟悉。

这里写图片描述

List 接口 一个 List 是一个元素有序的、可以重复、可以为 null 的集合(有时候我们也叫它“序列”)。 Java 集合框架中最常使用的几种 List 实现类是 ArrayList,LinkedList 和 Vector。在各种 List 中,最好的做法是以 ArrayList 作为默认选择。 当插入、删除频繁时,使用 LinkedList,Vector 总是比 ArrayList 慢,所以要尽量避免使用它,具体实现后续文章介绍。 为什么 List 中的元素 “有序”、“可以重复”呢? 首先,List 的数据结构就是一个序列,存储内容时直接在内存中开辟一块连续的空间,然后将空间地址与索引对应。 其次根据官方文档 :

The user of this interface has precise control over where in the list each element is inserted. The user can access elements by their integer index (position in the list), and search for elements in the list.

可以看到,List 接口的实现类在实现插入元素时,都会根据索引进行排列。 比如 ArrayList,本质是一个数组:

这里写图片描述

LinkedList, 双向链表:

这里写图片描述

由于 List 的元素在存储时互不干扰,没有什么依赖关系,自然可以重复(这点与 Set 有很大区别)。 List 接口定义的方法 List 中除了继承 Collection 的一些方法,还提供以下操作: 位置相关:List 和 数组一样,都是从 0 开始,我们可以根据元素在 list 中的位置进行操作,比如说 get, set, add, addAll, remove;搜索:从 list 中查找某个对象的位置,比如 indexOf, lastIndexOf;迭代:使用 Iterator 的拓展版迭代器 ListIterator 进行迭代操作;范围性操作:使用 subList 方法对 list 进行任意范围的操作。 Collection 中 提供的一些方法就不介绍了,不熟悉的可以去看一下。 集合的操作 remove(Object) 用于删除 list 中头回出现的 指定对象;

add(E), addAll(Collection



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3